From: Keir Fraser Date: Mon, 30 Mar 2009 15:48:26 +0000 (+0100) Subject: x86 acpi: Delete unnecessary and broken RSDP-scanning code. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~13989^2~75 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=cd0d1464b9ddc46aba34a2fddef40e9e8bc8e73f;p=xen.git x86 acpi: Delete unnecessary and broken RSDP-scanning code. Signed-off-by: Keir Fraser --- diff --git a/xen/arch/ia64/linux-xen/acpi.c b/xen/arch/ia64/linux-xen/acpi.c index cc6ac3575a..7c15f07dfa 100644 --- a/xen/arch/ia64/linux-xen/acpi.c +++ b/xen/arch/ia64/linux-xen/acpi.c @@ -76,11 +76,7 @@ unsigned int acpi_cpei_phys_cpuid; unsigned long acpi_wakeup_address = 0; #ifdef CONFIG_IA64_GENERIC -#ifndef XEN static unsigned long __init acpi_find_rsdp(void) -#else -unsigned long __init acpi_find_rsdp(void) -#endif { unsigned long rsdp_phys = 0; diff --git a/xen/arch/x86/acpi/boot.c b/xen/arch/x86/acpi/boot.c index 2ae8cc4157..95e7fff467 100644 --- a/xen/arch/x86/acpi/boot.c +++ b/xen/arch/x86/acpi/boot.c @@ -283,25 +283,6 @@ acpi_parse_nmi_src(struct acpi_subtable_header * header, const unsigned long end #endif /* CONFIG_X86_IO_APIC */ -static unsigned long __init -acpi_scan_rsdp(unsigned long start, unsigned long length) -{ - unsigned long offset = 0; - unsigned long sig_len = sizeof("RSD PTR ") - 1; - - /* - * Scan all 16-byte boundaries of the physical memory region for the - * RSDP signature. - */ - for (offset = 0; offset < length; offset += 16) { - if (strncmp((char *)(start + offset), "RSD PTR ", sig_len)) - continue; - return (start + offset); - } - - return 0; -} - static int __init acpi_parse_sbf(struct acpi_table_header *table) { struct acpi_table_boot *sb; @@ -371,16 +352,9 @@ extern u32 pmtmr_ioport; static void __init acpi_fadt_parse_sleep_info(struct acpi_table_fadt *fadt) { - struct acpi_table_rsdp *rsdp; - unsigned long rsdp_phys; struct acpi_table_facs *facs = NULL; uint64_t facs_pa; - rsdp_phys = acpi_find_rsdp(); - if (!rsdp_phys || acpi_disabled) - goto bad; - rsdp = __va(rsdp_phys); - acpi_fadt_copy_address(pm1a_cnt, pm1a_control, pm1_control); acpi_fadt_copy_address(pm1b_cnt, pm1b_control, pm1_control); acpi_fadt_copy_address(pm1a_evt, pm1a_event, pm1_event); @@ -483,29 +457,6 @@ static int __init acpi_parse_fadt(struct acpi_table_header *table) return 0; } -unsigned long __init acpi_find_rsdp(void) -{ - unsigned long rsdp_phys = 0; - -#if 0 - if (efi_enabled) { - if (efi.acpi20 != EFI_INVALID_TABLE_ADDR) - return efi.acpi20; - else if (efi.acpi != EFI_INVALID_TABLE_ADDR) - return efi.acpi; - } -#endif - /* - * Scan memory looking for the RSDP signature. First search EBDA (low - * memory) paragraphs and then search upper memory (E0000-FFFFF). - */ - rsdp_phys = acpi_scan_rsdp(0, 0x400); - if (!rsdp_phys) - rsdp_phys = acpi_scan_rsdp(0xE0000, 0x20000); - - return rsdp_phys; -} - #ifdef CONFIG_X86_LOCAL_APIC /* * Parse LAPIC entries in MADT diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h index e08a1a5612..cbf795aeaf 100644 --- a/xen/include/xen/acpi.h +++ b/xen/include/xen/acpi.h @@ -282,7 +282,6 @@ typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, co unsigned int acpi_get_processor_id (unsigned int cpu); char * __acpi_map_table (unsigned long phys_addr, unsigned long size); -unsigned long acpi_find_rsdp (void); int acpi_boot_init (void); int acpi_boot_table_init (void); int acpi_numa_init (void);